﻿
@{
    ViewBag.Title = "Index";
    Layout = null;
}
<html>
<head>
    <meta charset="utf-8">
    <title>模板分类</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link href="https://cdn.staticfile.org/layui/2.7.6/css/layui.css" rel="stylesheet">
    <link rel="stylesheet" href="/Content/layuiadmin/style/admin.css" media="all">
    <link href="~/Content/Common.css" rel="stylesheet" />
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-row layui-col-space15">
            <div class="layui-col-md12">
                <div class="layui-card">
                    <div class="layui-card-header">模板</div>
                    <div class="layui-card-body">
                        <table class="layui-hide" id="demo" lay-filter="test"></table>
                        <script type="text/html" id="barDemo">
                            <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
                            <a class="layui-btn layui-btn-xs" lay-event="more">更多 <i class="layui-icon layui-icon-down"></i></a>
                        </script>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <script src="https://cdn.staticfile.org/layui/2.7.6/layui.js"></script>
    <script>
        layui.config({
            base: '/Content/layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'set']);
    </script>
    <script src="~/Scripts/jquery-3.3.1.min.js"></script>
    <script src="~/Scripts/tools.js"></script>
    <script>
        $(function () {
            loadData();
        })
        function loadData() {
            layui.use(function () {
                // 得到需要的内置组件
                var layer = layui.layer; //弹层
                var table = layui.table; //表格
                var element = layui.element; //元素操作
                var dropdown = layui.dropdown; //下拉菜单
                // 执行一个 table 实例
                table.render({
                    elem: '#demo'
                    , height: 500
                    , method: 'get'
                    , url: apiurl+'api/Template/GetAll' //数据接口，这样可以得到分类的名称
                    , title: '模板分类表'//表格标题
                    , page: { //开启分页
                        //上一页、页码、下一页、跳到指定页码、刷新、总记录数、显示记录数
                        layout: ['prev', 'page', 'next', 'skip', 'refresh', 'count', 'limit']
                        //, prev: '<em><</em>'//自定义上一页样式
                        //, next: '<em>></em>'//自定义下一页样式
                        , limits: [5, 10, 15, 'All']//自定义每页显示数量
                        , limit: 5 //默认每页显示数量
                    }
                    , toolbar: 'default' //开启工具栏，此处显示默认图标，可以自定义模板，详见文档
                    , totalRow: true //开启合计行
                    , lineStyle: 'height: 62px;' //用于定义表格的多行样式，如每行的高度等
                    , cols: [
                        [ //表头
                            {
                                type: 'checkbox',
                                fixed: 'left'
                            }, {
                                field: 'TemplateID',
                                title: 'ID',
                                width: 80,
                                sort: true,
                                fixed: 'left',
                                totalRow: '合计：'
                            }, {
                                field: 'Tname',
                                title: '模板名称',
                                minWidth: 80
                            }, {
                                field: 'Describe',
                                title: '模板描述',
                                minWidth: 80
                            }, {
                                field: 'Timg',
                                title: '图片',
                                minWidth: 90,
                                templet: function (d) {
                                    return `<img onclick="openimg('${TemplateImg + d.Timg}')" class="imgCss" src="${TemplateImg + d.Timg}" alt="${d.Timg}"/>`;
                                },
                            }, {
                                field: 'Price',
                                title: '价格',
                                minWidth: 80,
                                sort: true
                            }, {
                                field: 'Thumbsup',
                                title: '点赞数',
                                minWidth: 80,
                                sort: true,
                                totalRow: '{{= d.TOTAL_NUMS }}'
                            }, {
                                field: 'Cname',
                                title: '所属模板分类名称',
                                minWidth: 80,
                            }, {
                                fixed: 'right',
                                title: '操作',
                                width: 150,
                                align: 'center',
                                toolbar: '#barDemo'
                            }
                        ]
                    ],
                    request: {
                        pageName: 'page' //页码的参数名称，默认：page
                        , limitName: 'size' //每页数据量的参数名，默认：limit
                    },
                    parseData: function (res) { //res 即为原始返回的数据
                        //console.log(res.Data)
                        return {
                            "code": res.Code, //解析接口状态
                            "msg": res.Msg, //解析提示文本
                            "count": Number(res.Msg), //解析数据长度
                            "data": res.Data //解析数据列表
                        };
                    },
                    response: {
                        statusName: 'code' //规定数据状态的字段名称，默认：code
                        , statusCode: 200 //规定成功的状态码，默认：0
                        , msgName: 'msg' //规定状态信息的字段名称，默认：msg
                        , countName: 'count' //规定数据总数的字段名称，默认：count
                        , dataName: 'data' //规定数据列表的字段名称，默认：data
                    }
                });

                // 头工具栏事件
                table.on('toolbar(test)', function (obj) {
                    var checkStatus = table.checkStatus(obj.config.id),
                        data = checkStatus.data; //获取选中的数据

                    switch (obj.event) {
                        case 'add':
                            //iframe 层
                            layer.open({
                                type: 2,
                                title: '<h2><b>添加模板</b></h1>',
                                shadeClose: true,
                                shade: false,
                                maxmin: true, //开启最大化最小化按钮
                                area: ['600px', '600px'],
                                content: '/Template/Add'
                            });

                            break;
                        case 'update':
                            if (data.length === 0) {
                                layer.msg('请选择一行');
                            } else
                             if (data.length > 1) {
                                layer.msg('只能同时编辑一个');
                             }
                                else
                                {
                                 layer.open({
                                     type: 2,
                                     title: '<h2><b>修改模板</b></h1>',
                                     shadeClose: true,
                                     shade: false,
                                     maxmin: true, //开启最大化最小化按钮
                                     area: ['600px', '600px'],
                                     content: '/Template/Edit/' + data[0].TemplateID
                                 });
                                }
                            break;
                        case 'delete':
                            if (data.length === 0) {
                                layer.msg('请选择一行');
                            }
                            else if (data.length > 1) {
                                layer.alert('删除 ' + data.length + "条数据");
                            }
                            else {
                                layer.msg('删除');
                            }
                            break;
                    };
                });

                // 单元格工具事件
                table.on('tool(test)', function (obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
                    var data = obj.data //获得当前行数据
                        ,
                        layEvent = obj.event; //获得 lay-event 对应的值
                    let id = data.TemplateID;
                    if (layEvent === 'detail') {
                        window.location.href = "/Template/DetailAll/" + id
                    }
                    else if (layEvent === 'more') {
                        //下拉菜单
                        dropdown.render({
                            elem: this //触发事件的 DOM 对象
                            ,
                            show: true //外部事件触发即显示
                            ,
                            data: [{
                                title: '编辑',
                                id: 'edit'
                            }, {
                                title: '删除',
                                id: 'del'
                            }],
                            click: function (menudata) {
                                if (menudata.id === 'del') {
                                    layer.confirm('确定删除吗？', { icon: 3 }, function (index) {
                                        layer.close(index);

                                        //向服务端发送删除指令
                                    });
                                } else if (menudata.id === 'edit') {
                                    console.log(data)
                                    layer.open({
                                        type: 2,
                                        title: '<h2><b>修改模板</b></h1>',
                                        shadeClose: true,
                                        shade: false,
                                        maxmin: true, //开启最大化最小化按钮
                                        area: ['600px', '600px'],
                                        content: '/Template/Edit/' + id
                                    });
                                }
                            },
                            align: 'right' //右对齐弹出
                            ,
                            style: 'box-shadow: 1px 1px 10px rgb(0 0 0 / 12%);' //设置额外样式
                        })
                    }
                });
            });
        }
    </script>
</body>
</html>

